package com.xhu.collegestudentrentalsystem.module.user.service;

import com.xhu.collegestudentrentalsystem.module.user.entity.House;
import com.xhu.collegestudentrentalsystem.module.user.entity.HouseOrder;
import com.xhu.collegestudentrentalsystem.module.user.entity.Page;
import com.xhu.collegestudentrentalsystem.module.user.entity.dto.HouseDTO;
import com.xhu.collegestudentrentalsystem.util.ResultData;
import io.swagger.models.auth.In;

import java.util.List;
import java.util.Map;

/**
 * @author zhu huilin
 * @date 2023/3/5 19:19
 */
public interface IHouseService {

    /**
     * 向房屋表中插入一条数据
     */
    Long addHouse(House house);

    /**
     * 查询数据库中是否有以审核通过或待审核的相同的房产证号
     */
    Boolean isHouseExist(String certificateNo);

    /**
     * 根据房东id查询当前房东发布的所有房源信息
     */
    public List<House> findHousesByUserId(Long userId, Page page);

    /**
     * 根据房屋表的id查询一条房屋信息
     */
    public House findHouseById(Long houseId);

    /**
     * 根据房屋表id修改房屋信息
     */
    public Integer updateHouseInfo(House house);

    /**
     * 修改房子状态
     */
    public Integer updateHouseStatus(Long houseId, Integer status);

    /**
     * 查询当前房子租住情况
     */
    public List<HouseOrder> findHouseOrderByHouseId(Long houseId);

    /**
     * 查询当前房子租住人数
     */
    public Integer findHouseOrderUserCount(Long houseId);

    /**
     * 查询当前审核已通过的最新房子信息
     */
    public List<House> findHouseNew();

    /**
     * 根据条件查询房子信息
     */
    public List<House> searchHouses(HouseDTO houseDTO, Page page);

    /**
     * 查询当前审核已通过的最高分房子信息
     */
    public List<House> findHouseHighScore();

}
